iT邦幫忙

2026 iThome 鐵人賽

DAY 20
0
AI Security

打開黑盒子:大型語言模型的機制解釋性入門系列 第 20

Day 20|Steer 一個 Concept,真的只需要一條 Direction 嗎?

  • 分享至 

  • xImage
  •  

過去兩篇中,我們使用一條 activation direction 來控制模型。這些方法之所以吸引人,很大一部分正是因為它們非常簡單,但這也隱含了一個很強的假設:我們關心的 concept,真的可以被一條直線充分描述嗎?

以「專業的口吻」為例,它可能同時涉及:

  • 使用專業術語
  • 採取較正式的句型
  • 提供清楚的結構
  • 避免過度口語化
  • 適當表達不確定性
  • 引用證據或解釋推理

如果這些特徵在 activation space 中沿著不同方向變化,把它們全部平均成一條 steering vector,就可能遺失許多結構。這時,我們可能需要的不只是一條 direction,而是一整個 subspace。

一條 Vector 丟掉了什麼?

假設我們收集許多和某個 concept 有關的 activations。在二維空間中,它們可能不是排成一條直線,而是形成一個有寬度、有方向的橢圓形區域。

一條 steering vector 通常只保留 activation cloud 的某個平均方向。例如 Contrastive Activation Addition 會計算的 direction 很適合描述兩組 examples 的平均差異,卻不會完整保留:

  • 每組資料內部的 variation
  • 多個共同出現的語意 dimensions
  • 不同 dimensions 之間的 correlation
  • activation cloud 的整體形狀

因此,即使 vector steering 有效,也不代表一條 direction 已經捕捉了 concept 的全部 representation。研究者於是開始問:

如果 concept 不是一條線,而是一片多維區域,我們能不能直接表示並操控這整片區域?

這就是 Conceptor 提供的視角。

Conceptor:替 Activation Cloud 畫一個柔軟的邊界

Conceptor 最初由 Herbert Jaeger 提出,用來描述與控制 recurrent neural network 中的 dynamical patterns。[1]

它的基本想法是:給定一群和某種 pattern 有關的 neural activations,建立一個 matrix,捕捉這些 activations 主要分布在哪些 directions,以及每個方向的重要程度。假設我們收集 N 個 concept-related activations,並將它們排成矩陣:

https://ithelp.ithome.com.tw/upload/images/20260916/201834698fmFSvvSEd.png

接著計算 activation 的 correlation matrix:

https://ithelp.ithome.com.tw/upload/images/20260916/20183469HBKxuNjdUF.png

Conceptor matrix (C) 則可以寫成:

https://ithelp.ithome.com.tw/upload/images/20260916/201834694OC2m98xTr.png

其中 alpha 稱作 aperture。第一次看到這個公式不需要太在意細節。比較重要的是它的幾何意義。

Conceptor 會觀察 activation cloud 的主要 directions:

  • 資料經常沿著某個 direction 變化,該方向會被保留得比較多;
  • 幾乎沒有 concept-related signal 的方向,則會受到較強抑制;
  • 介於兩者之間的方向,不是完全留下或完全刪除,而是依訊號強度部分保留。

因此,Conceptor 可以被理解成一個 soft projection matrix。一般的 hard projection 會把每個 direction 分成:

保留:1
移除:0

Conceptor 的 eigenvalues 則位於 0 到 1 之間,因此更像一組柔軟的 gates。

Aperture:這個 Concept 要畫多大的範圍?

參數 alpha 控制 Conceptor 的 aperture。可以把它想成相機光圈,或是我們願意把多寬的 activation region 視為這個 concept 的一部分。

  • alpha 較小:只保留最主要、最集中的 directions
  • alpha 較大:允許更多 variation 通過
  • alpha 非常大:Conceptor 逐漸接近 identity matrix,幾乎什麼都保留
  • alpha 非常小:大多數 directions 都被抑制

因此,Conceptor 並不會自動告訴我們 concept 的唯一正確邊界。我們仍然需要選擇 aperture,並檢查結果對這項選擇是否穩定。

從「加一個 Vector」到「投影一個 State」

傳統 additive steering 會直接把 vector 加進 activation,不論原本的 h 位於 activation space 的哪裡,模型都會被推向相同方向。Conceptor steering 則改為使用 matrix 處理整個 hidden state。一種直覺的做法是:

https://ithelp.ithome.com.tw/upload/images/20260916/20183469o8M2FmxzM0.png

其中:

  • h:原始 hidden state
  • Ch:經過 conceptor soft projection 後的 state
  • beta:intervention strength

當 beta=0 時,完全保留原始 activation。隨著 beta 增加,activation 會愈來愈受到 concept subspace 的約束。

最核心的 code 其實也不複雜:

R = X.T @ X / len(X)

I = torch.eye(R.shape[0], device=R.device)

C = R @ torch.linalg.inv(
    R + alpha**-2 * I
)

接著在 forward pass 中套用:

def apply_conceptor(resid, hook):
    projected = resid @ C.T
    return (1 - beta) * resid + beta * projected

完整實作仍然需要處理 layer、token position、centering、數值穩定性與 generation hooks;這些會放在 companion notebook

Conceptor 真的比一條 Vector 好嗎?

Postmus 與 Abreu 在 2024 年將 Conceptors 應用到語言模型 steering,使用 GPT-J 與 GPT-NeoX 測試 antonym、translation、country-to-capital 等 functions。[2]

在他們測試的 tasks 和 models 上,Conceptor steering 整體上優於單純的 additive function vectors。

2026 年另一項研究再將這個方法延伸到 sentiment、political leaning 與 depression-related language,並比較單一 direction 與多維 concept subspace。[3] 這些結果提供了一個很直覺的 pattern:當 concept 接近一維時,一條 vector 可能已經足夠;當 representation 明顯是多維的,保留完整 subspace 才可能帶來額外價值。

也就是說,Conceptor 並不是在宣稱 Direction steering 全部都是錯的。而是在提供一個更一般化的觀點:一條 direction,可以是一個多維 concept subspace 的特殊情況。Linear Representation Hypothesis 可能是非常有用的近似,但「線性」不一定等於「一維」。

Concept 可以做 AND、OR、NOT 嗎?

Conceptor 還有一個很特別的性質:它定義了一套類似 Boolean logic 的 matrix operations。[1] 例如:

NOT

https://ithelp.ithome.com.tw/upload/images/20260916/20183469sfkMmTcQ5d.png

直覺上,它會抑制 concept C 所占據的 directions,保留其 complementary subspace。例如:

NOT(depressive language)

可以被想成抑制 depression-related subspace。

AND

https://ithelp.ithome.com.tw/upload/images/20260916/20183469Ud2IwBNKgq.png

試圖保留兩個 concept subspaces 共同支持的 directions。例如:

formal AND positive

OR

https://ithelp.ithome.com.tw/upload/images/20260916/201834697uRbKZ1o8U.png

則試圖保留至少屬於其中一個 concept 的 directions。例如:

technical OR mathematical

這看起來很像我們終於可以直接用代數組合概念:

helpful AND honest
safe AND NOT sycophantic
technical AND concise

而不必為每個組合重新蒐集 examples、訓練新的 steering method。不過,這裡必須非常小心。

Matrix Algebra 不等於人類語言的邏輯

Conceptor 的 AND、OR、NOT 是對 activation subspaces 進行幾何運算。它們不保證和人類語言中的邏輯關係完全相同。例如兩個 concept subspaces 如果幾乎互相 orthogonal:

political leaning
sentiment

兩者可能幾乎沒有共同 directions。這時做 AND 得到的 intersection 很小,不一定能產生一個有意義的「political AND positive」behavior。相反地,如果兩個 concepts 本來就共享許多結構,AND 才比較可能產生可解釋的組合。2026 年的研究也發現,Boolean composition 的效果明顯受到 subspace overlap 影響:NOT 在低 overlap 時仍可能有效,但 AND 通常需要兩個 concepts 具有足夠共同結構。[3]

所以更精準的說法是:

Conceptors 提供了一套可組合的 geometric algebra,而不是保證正確的 semantic logic。

這些 operations 仍然需要 behavioral evaluation 與 intervention validation。

Conceptor 仍然是一種線性方法

從一條 vector 走到一個 subspace,確實讓 representation 變得更豐富。但 Conceptors 仍然有一個重要前提:

Concept 可以由一個線性的、平坦的 subspace 近似。

即使這個 subspace 有很多 dimensions,它仍然是一個平面,而不是彎曲的 surface。此外,Conceptor 還有其他限制:

  • 它學到的 subspace 依賴 training examples
  • prompt format 或 dataset bias 可能被一併收進去
  • aperture、layer 與 intervention strength 都會改變結果
  • matrix 可能捕捉容易 steering、卻不一定 faithful 的 directions
  • steering 成功仍不代表已經找到模型平常使用的完整 mechanism
  • 更高維的 representation 也不一定比較容易被人理解

更廣泛來說,activation steering 本身在不同 prompts 和 distributions 上也可能不穩定。[4] 因此,Conceptor 最好被理解成從單一 steering direction 走向多維 activation geometry 的一個重要工具。它不是 concept representation 的最終答案。

如果 Concept 根本不是一個平面呢?

我們的 representation 逐漸變得更複雜:

一條 Direction
↓
Function / Task Vector
↓
多維 Concept Subspace

但無論是一條 direction 還是一個 subspace,都仍然假設:concept 可以在 activation space 中,用平坦的線性結構描述。下一個問題因此變得很自然:如果同一個 concept 在不同 context 中沿著一條彎曲的 trajectory 變化呢?

也許 representation 不是一條線,也不是一個平面,而是一個 manifold。下一篇,我們會進入 Goodfire 的 Neural Geometry 系列,看看研究者如何檢驗 SAE directions 與其他線性方法,究竟捕捉了真實 representation geometry 的多少部分。

參考資料與延伸閱讀

[1] Jaeger, H., “Controlling Recurrent Neural Networks by Conceptors”, 2014. https://arxiv.org/abs/1403.3369

[2] Postmus, J., & Abreu, S., “Steering Large Language Models using Conceptors: Improving Addition-Based Activation Engineering”, 2024. https://arxiv.org/abs/2410.16314

[3] Triantafyllopoulos, I., Cho, Y.-M., Tao, R., et al., “Conceptors for Semantic Steering”, 2026. https://arxiv.org/abs/2605.04980

[4] Tan, D., Chanin, D., Lynch, A., et al., “Analysing the Generalisation and Reliability of Steering Vectors”, Advances in Neural Information Processing Systems (NeurIPS), 2024. https://proceedings.neurips.cc/paper_files/paper/2024/hash/fb3ad59a84799bfb8d700e56d19c231b-Abstract-Conference.html


上一篇
Day 19|可以用 Steering 按下按鈕,讓模型做指定的任務嗎?
下一篇
# Day 21|模型內的 Concept 到底是什麼形狀?
系列文
打開黑盒子:大型語言模型的機制解釋性入門27
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言